The present invention pertains to the field of postage metering, and more particularly, to machines for printing indicia (postage) on mailpieces.
According to the prior art, a mailing machine or postage meter may include a security portion or security device, a printing portion and a computing portion. A postal security device (xe2x80x9cPSDxe2x80x9d) may be used as the security portion of a mailing machine. When the security device receives a request to print a postal indicia on a mailpiece, the mailing machine will calculate the information to be indicated in the indicia, even though some of the information is known (such as the postage meter identifier and, usually, the date of mailing) before the request to print the indicia is received and so may be calculated beforehand. Pre-calculating the information of an indicia that is known before receiving the mailpiece for which the next indicia is to be provided would speed processing time (throughput) for the mailing machine. However, the indicia also bears information that varies from mailpiece to mailpiece, such as the ascending register value (which is used to keep track of the total postage printed by the postage meter), the descending register value (which is used to keep track of the postage remaining in the postage meter), the piece count (which is the total of all pieces processed by a PSD since installation), and the digital signature set out by U.S. Postal Service regulations.
According to the prior art, upon receiving a request to print an indicia on a mailpiece, the security device of a mailing machine calculates the indicia, calculates the encryption, generates a digital signature, and performs the accounting for the transaction (the purchase of postage). A mailing machine also includes a printhead, and once the indicia for a mailpiece is calculated, a print command including the indicia is then transmitted from the security device to the printhead. Thus, between each print command, the security device makes a complete indicia calculation.
Security devices, therefore, are tailored (in hardware and software) to meet the throughput requirements of a particular machine, since the calculation of the indicia is done in-line with the other steps followed in printing an indicia on a mailpiece, i.e., the calculation is on the critical path of the activity of printing indicia on mailpieces. Therefore, security devices are designed according to the throughput requirements of a mailing machine, and thus the same security device does not have the same efficiency for different meter architectures. For example, some mailing machines are designed to perform indicia calculations in 750 milliseconds (corresponding to a throughput of 90 mailpieces/minute for such a machine), and others are designed to perform indicia calculations in 250 milliseconds (corresponding to a throughput of 240 mailpieces/minute for such a machine).
It would be advantageous to take advantage of the fact that some of the information included in an indicia could be pre-calculated, at least if the pre-calculations could be done off-line, i.e., so as not to be on the critical path of all of the tasks to be performed in printing the indicia on a mailpiece. Pre-calculating whatever parts of an indicia can be pre-calculated off the critical path would allow using the same security device in machines designed for some maximum throughput as well as for machines designed for lower throughput.
Accordingly, the present invention provides a method for having a security device having official ascending/descending registers, provide indicia to be printed on mailpieces, the method including the steps of having the security device set a current postage value; having the security device perform a partial pre-calculation of an indicia taking into account only non-varying and slowly varying components of the indicia; having the security device set aside a location in a scratch pad memory of the security device for use as virtual ascending/descending registers; having the security device set the virtual ascending/descending registers to the current value of the official ascending/descending registers; and having the security device perform a full pre-calculation based on the partial pre-calculation using the current postage value and saving the result of the full pre-calculation in another location in the scratch pad memory.
In a further aspect of the invention, the method includes the further steps of having the security device update the values of the virtual ascending/descending registers; having the security device test to determine whether a request for an indicia has been made; and, if a request for a new indicia has not been made, and if scratch pad memory is available to hold the result of a new indicia calculation, then having the security device repeat the method beginning with the step of having the security device perform a full pre-calculation based on the partial pre-calculation.
In another further aspect of the invention, the steps are performed by the security device for both a first mailing machine and a second mailing machine.
From another perspective, the invention provides a method for having a postal security device (PSD), having official ascending/descending registers, provide indicia to be printed on mailpieces, including the steps of performing a partial pre-calculation of an indicia taking into account only non-varying and slowly varying components of the indicia; and reusing the partial calculation in a succession of full pre-calculations performed during a rest cycle of the PSD.